package com.ruoyi.wms.domain.bo.employee;


import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.mybatis.core.domain.BaseEntity;
import com.ruoyi.wms.domain.entity.employee.KSalarySetup;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * k指标设置业务对象 k_salary_setup
 *
 * @author 邓滔滔
 * @date 2024-11-27
 */

@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = KSalarySetup.class, reverseConvertGenerate = false)
public class KSalarySetupBo extends BaseEntity {

    /**
     * id
     */
    @NotNull(message = "id不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 指标名称
     */
    @NotBlank(message = "指标名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String metricName;

    /**
     * 权重
     */
    @NotNull(message = "权重不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal weight;

    /**
     * 平衡点
     */
    @NotNull(message = "平衡点不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal balancePoint;

    /**
     * 奖励刻度
     */
    @NotNull(message = "奖励刻度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal rewardScale;

    /**
     * 奖励金额
     */
    @NotNull(message = "奖励金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal reward;

    /**
     * 处罚金额
     */
    @NotNull(message = "处罚金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal punishmentScale;

    /**
     * 处罚薪水
     */
    @NotNull(message = "处罚薪水不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal punishment;

    /**
     * 备注
     */
    private String remark;


}
